Transmission of moving pictures and audio in real-time is employed in several applications like e.g. video conferencing, net meetings and video telephony. Video conferencing systems allow for simultaneous exchange of audio, video and data information among multiple conferencing sites. Control units such as Multipoint Control Units (MCUs) allow endpoints of multiple sites to intercommunicate in a conference.
An endpoint, as exemplified in FIG. 1, may be defined as any suitable device or apparatus that is configured to provide visual and audio communication to one or more participants at a conference site, such as traditional stationary video conferencing endpoints 120, computer devices and mobile devices 130, e.g. smartphones, tablets, personal devices and PCs. For example, as FIG. 1 illustrates, a video conferencing system 100 comprises endpoints 120, 130 that are interconnected via an internet protocol (IP) network 150.
A control unit 140 links sites, endpoints and participants together by receiving conference signals from the sites/endpoints, processing the received signals, and transmitting the processed signals to appropriate sites/endpoints. The conference signals include audio, video, data and control information. The control unit may translate signals from one video or audio codec to another codec, change picture size, change video quality, change video quality, change bitrate, combine conference signals from multiple participant into various layouts etc. The control unit processes the received conference signals from one or more sites/endpoints based on the requirements-/capabilities of each site/endpoint receiving signals from the control unit. This is in the following referred to as transcoding.
FIG. 1 illustrates an exemplary distributed video conferencing system. The control unit 140, in traditional systems configured as a single unit, is here configured as a virtual entity comprising a plurality of interconnected conferencing nodes. The conferencing nodes handle all conference media and signaling to endpoints and other devices, and are typically deployed in different geographical locations. The different conferencing nodes are typically located close to large concentrations of users to reduce latency and improve QoE (Quality of Experience). The distributed video-conferencing system further comprises at least one Management Node. The purpose of the at least one Management Node is to create and manage Conferencing Nodes. The at least one Management Node is in neither the signaling nor the media path of a conference.
The at least one Management Node and the plurality of conferencing nodes are both software applications that are deployed as Virtual Machines (VMs) on host servers distributed around the globe. A deployment can reside on a server in a private data center or in an IaaS (Infrastructure as a Service) cloud service such as Amazon AWS, Microsoft Azure, IBM Softlayer, Google GCP. Conferencing Nodes may run on host servers in the same or different locations, allowing a globally distributed system. Two Conferencing Nodes may also be running on the same host server, for example to ensure service continuity during upgrade of one of the Conferencing Nodes or software outage, and for maximum performance. Conferencing Nodes hosting the same conference may send the call media and other data, such as roster lists, commands, between each other over a secure backplane. The at least one Management Node may run on the same host server as a Conferencing Node, or on a different host server than any the Conferencing Nodes.
With the increased adoption of enterprise collaboration and conferencing, it is becoming increasingly difficult to plan for sufficient infrastructure capacity. A company may have a basic capacity for everyday usage, but requiring additional resources for special needs, such as an all-hands meeting. Prior art supports this by enabling expansion from a primary infrastructure to a private or public cloud IaaS service whenever scheduled or unplanned usage requires it. Then, when capacity demand normalizes, the cloud instance may be shut down. The primary infrastructure may be an on-premise deployment, a private or a public cloud IaaS service. Prior art also enables dynamic distribution of media processing to reduce bandwidth consumption and reduce the negative impacts of latency, jitter, and packet loss commonly experienced on centralized deployments.
The primary infrastructure, whether being an on-premise deployment or a cloud IaaS, is sized to handle a basic capacity for transcoding media. Transcoding media is compute-intensive and requires that the primary infrastructure has sufficient processing power. As processing power is expensive, the primary infrastructure may be deployed in the least expensive IaaS service to reduce cost. This may have a negative impact on latency, jitter, and packet loss if the IaaS data centers are located far from the endpoints. Alternatively, the primary infrastructure may be deployed in the IaaS service that have IaaS data centers in the most optimal locations with respect to the endpoints. This may have a negative impact on cost of the primary infrastructure.
Performing an installation of a distributed video conferencing system in an IaaS cloud service is a complex task that requires knowledge of the limitations of the different IaaS cloud services, of how to optimally configure the Conferencing Nodes, and how the limitations of the different IaaS cloud services affect the available configurations of the Conferencing nodes. Furthermore, the different IaaS cloud services have non-compatible API's (application programming interface).
Current installations of distributed systems are typically limited to one IaaS, and do not take full advantage of dynamic deployment and redistribution to reduce cost, bandwidth consumption and improve QoE.
Thus, there is a need for a solution providing automatic deployment and reconfiguration of a distributed video conference system in more than one cloud service.